package com.chenjun.mysite.module.sys.service;

/**
 * 
 * @author Administrator
 *
 */
public class 二分查找类2
{

	private static final int size = 10;

	public static void main(String[] args)
	{
		int[] a = new int[size];
		for (int i = 0; i < size; i++)
		{
			a[i] = (2 * i) + 1;
		}
		// 1,3,5,7,9,11
		for (int i = 0; i < size; i++)
		{
			System.out.print(a[i] + ",");
		}
		System.out.println("最终下标 " + binarySearch(7, a, 0, size - 1));
	}

	// 返回找到的下标
	public static int binarySearch(int number, int[] arr, int 小下标, int 大下标)
	{

		int 中间下标 = (大下标 + 小下标) / 2;
		if (number > arr[中间下标])
		{
			小下标 = 中间下标 + 1;
			// 递归
			return binarySearch(number, arr, 小下标, 大下标);
		}
		else if (number < arr[中间下标])
		{
			大下标 = 中间下标 - 1;
			return binarySearch(number, arr, 小下标, 大下标);
		}
		else
		{
			return 中间下标;
		}
	}
}
